home *** CD-ROM | disk | FTP | other *** search
/ Aminet 39 / Aminet 39 (2000)(Schatztruhe)[!][Oct 2000].iso / Aminet / biz / swood / FW_AllInOne.lha / Makros / Compress < prev    next >
Text File  |  1998-01-18  |  7KB  |  283 lines

  1. /* Optimized with RexxOpt 1.7 */
  2.  
  3. Parse ARG FW
  4. if ~show('L',"rexxreqtools.library") then
  5. if ~addlib('rexxreqtools.library',0,-30,0) then;do
  6. 'ShowMessage 1 1 "Fehler...." "Benötige Libs:rexxreqtools.library" " A B B R U C H ! !" "Okay" "" ""'
  7. exit
  8. end
  9. IF ~show('L','tritonrexx.library') then
  10. IF ~ADDLIB('tritonrexx.library',10,-30,0) THEN;DO
  11. 'ShowMessage 2 1 "Fehler...." "Benötige Libs:tritonrexx.library" "" "Abbruch" "" ""'
  12. exit
  13. END
  14. R='0A'X
  15. If FW='' then;do
  16. Address='FinalW'
  17. Options results
  18. STATUS PORTNAME
  19. FW=result
  20. End
  21. address(FW)
  22. Status PathName
  23. DName=result;If DName='' then DName='Unbenannt'
  24. SIGNAL ON SYNTAX
  25. address "REXX"
  26. If open('Hilfe',"S:FW_Paket.prefs","R") then;do
  27. HilfeVerz=readln('Hilfe')
  28. Call Close('Hilfe')
  29. End
  30. else HilfeVerz=''
  31. FWP="FinalWriterPubScreen"
  32. Mode=GetClip("MO");If mode='' then mode=1
  33. Orig=GetClip("OR");If orig='' then orig=0
  34. nr=0
  35. If exists("c:lha") then;do
  36. nr=nr+1
  37. mxlist.nr='Lha'
  38. LBefehl.nr="lha e "
  39. SBefehl.nr="lha u "
  40. Endung.nr=".FWLHA"
  41. end
  42. If exists("c:lzx") then;do
  43. nr=nr+1
  44. mxlist.nr='Lzx'
  45. LBefehl.nr="lzx x -X0 "
  46. SBefehl.nr="lzx u -X0 "
  47. Endung.nr=".FWLZX"
  48. end
  49. mxlist.0=nr
  50. LBefehl.0=nr
  51. SBefehl.0=nr
  52. Endung.0=nr
  53. If nr=0 then;do
  54. ret=rtezrequest("Kein Komprimierer vorhanden!"||R||"Weder LHA noch LZX...",,"Error...","rt_pubscrname=FinalWriterPubScreen")
  55. Exit
  56. END
  57. apptags='TRCA_Name     Compress',
  58. 'TRCA_LongName "Compress"',
  59. 'TRCA_Info     "Makro für Finalwriter"',
  60. 'TRCA_Version  "3.0 registered"',
  61. 'TRCA_Release  "3"',
  62. 'TRCA_Date     "09.01.98"',
  63. 'TAG_END'
  64. windowtags=WindowID(1),
  65. WindowPosition('TRWP_CENTERDISPLAY'),
  66. WindowFlags('TRWF_NOSIZEGADGET|TRWF_NOMINTEXTWIDTH'),
  67. PubScreenName(FWP),
  68. WindowTitle('Compress'),
  69. BeginMenu('Projekt'),
  70. MenuItem('Q_Verlassen',104),
  71. BeginMenu('?'),
  72. MenuItem('?_Info',101),
  73. MenuItem('H_Hilfe',103),
  74. 'HorizGroupEAC SpaceS',
  75. 'VertGroupEAC SpaceS',
  76. 'HorizGroupEAC',
  77. TextN('Dateiname:'),
  78. 'SpaceS',
  79. TextH(DName) 'TRAT_ID 7',
  80. 'EndGroup',
  81. 'SpaceS',
  82. 'HorizGroupEAC',
  83. TextID('_Modus:',1) 'TRAT_Flags TROF_RIGHTALIGN',
  84. 'SpaceS',
  85. MXGadget('mxlist',mode-1,1) 'TRAT_Flags TRCY_RIGHTLABELS',
  86. 'EndGroup',
  87. 'SpaceS',
  88. 'HorizGroupEAC',
  89. TextID('_Original löschen:',4) 'TRAT_Flags TRCY_RIGHTLABELS TRAT_ID 4',
  90. 'SpaceS',
  91. CheckBox(4) 'TRAT_Value' Orig,
  92. 'Space',
  93. TextID('Dok_Voreinsteller:',6) 'TRAT_Flags TRCY_RIGHTLABELS TRAT_ID 6',
  94. 'SpaceS',
  95. CheckBox(6) 'TRAT_Value' 0,
  96. 'EndGroup',
  97. 'SpaceS',
  98. 'HorizSeparator',
  99. 'SpaceS',
  100. 'HorizGroupEAC',
  101. Button('_Laden',2),
  102. 'SpaceS',
  103. Button('_Speichern',3),
  104. 'SpaceS',
  105. Button('Speichern _als',5),
  106. 'EndGroup',
  107. 'SpaceS',
  108. 'EndGroup',
  109. 'SpaceS',
  110. 'EndGroup SpaceS',
  111. 'SpaceS',
  112. 'EndGroup',
  113. 'EndProject'
  114. app=TR_CREATEAPP('TRCA_Name Compress')
  115. l=0
  116. IF app ~='00000000'x THEN;DO
  117. window1=TR_OPENPROJECT(app,windowtags)
  118. IF window1 ~='00000000'x THEN;DO
  119. ende=0
  120. DO WHILE ende ~=1
  121. address(FW)
  122. Status PathName
  123. DName=result;If DName='' then DName='Unbenannt'
  124. Call TR_SETATTRIBUTE(window1,7,'TRAT_TEXT',DName)
  125. CALL TR_WAIT(app,'')
  126. DO WHILE TR_HANDLEMSG(app,'event')
  127. IF event.trm_class='TRMS_NEWVALUE' THEN;DO
  128. SELECT
  129. WHEN event.trm_id=1 THEN;Do
  130. mode=event.trm_data+1
  131. END
  132. WHEN event.trm_id=4 THEN;DO
  133. orig=event.trm_data
  134. END
  135. WHEN event.trm_id=6 THEN;DO
  136. address(FW)
  137. Preferences DocumentSave
  138. Call TR_SETATTRIBUTE(window1,6,'TRAT_Value',0)
  139. END
  140. OTHERWISE
  141. NOP
  142. END
  143. END
  144. IF event.trm_class='TRMS_ACTION' THEN;DO
  145. SELECT
  146. WHEN event.trm_id=2 THEN Call Laden
  147. WHEN event.trm_id=3 THEN;Do
  148. Status FileName
  149. name=result
  150. Call Speichern
  151. END
  152. WHEN event.trm_id=5 THEN;Do
  153. name=""
  154. Call Speichern
  155. END
  156. WHEN event.trm_id=101 THEN Call rtezrequest("Aus dem Makro-Paket:"||R||R||"Compress V3.0 für FW"||R||"© 1998 Heiko Schröder","Danke für Ihre Registrierung.","Info","rt_pubscrname=FinalWriterPubScreen")
  157. WHEN event.trm_id=103 THEN address command "Multiview PUBSCREEN=FinalWriterPubScreen "||d2c(34)||HilfeVerz||"Compress.guide"||d2c(34)
  158. WHEN event.trm_id=104 THEN ende=1
  159. OTHERWISE
  160. NOP
  161. END
  162. END
  163. IF event.trm_class='TRMS_CLOSEWINDOW' THEN;DO
  164. void=SetClip("MO",Mode)
  165. void=SetClip("OR",Orig)
  166. ende=1
  167. END
  168. END
  169. END
  170. CALL TR_CLOSEPROJECT(window1)
  171. END
  172. CALL TR_DELETEAPP(app)
  173. END
  174. ELSE
  175. CALL quit('Kann das Fenster nicht öffnen',10)
  176. Exit
  177. Laden:
  178. dir=rtfilerequest(,,Endung.mode||"-Datei auswählen...","Start","rt_pubscrname=FinalWriterPubScreen rtfi_matchpat=#?"||Endung.mode)
  179. if dir~="" then;do
  180. directory=dir
  181. dir=d2c(34)||dir||d2c(34)
  182. pos=LastPos(Endung.mode,upper(dir))
  183. if pos~=0 then;do
  184. file=left(dir,pos-1)||d2c(34)
  185. filemerk=file
  186. pos1=max(index(file,':'),lastpos('/',file))
  187. pos2=LastPos(d2c(34),file)
  188. file=d2c(34)||Right(file,pos2-pos1)
  189. possy1=max(index(directory,':'),lastpos('/',directory))
  190. directory=d2c(34)||left(directory,possy1)||d2c(34)
  191. address command LBefehl.mode||dir directory
  192. text="Dokument wird geladen."
  193. Call OpenWin
  194. address(FW)
  195. Open filemerk
  196. address command "delete "||filemerk||" QUIET"
  197. CALL TR_CLOSEPROJECT(window2)
  198. CALL TR_DELETEAPP(app2)
  199. END
  200. ELSE;do
  201. ret=rtezrequest("Dies ist keine komprimierte Datei!",,"Error...","rt_pubscrname=FinalWriterPubScreen")
  202. END
  203. END
  204. address(FW)
  205. Status PathName
  206. DName=result;If DName='' then DName='Unbenannt'
  207. Call TR_SETATTRIBUTE(window1,7,'TRAT_TEXT',DName)
  208. Return
  209. Speichern:
  210. Status PathName
  211. NamePath=result
  212. If name="" then NamePath=""
  213. text="Dokument "||NamePath||" wird gespeichert."
  214. Call OpenWin
  215. If name="" then;do
  216. SaveAs
  217. If result=0 then break
  218. Status FileName
  219. name=result
  220. End
  221. Else;do
  222. NamePath=d2c(34)||NamePath||d2c(34)
  223. Save NamePath
  224. End
  225. if name="" then;do
  226. CALL TR_CLOSEPROJECT(window2)
  227. CALL TR_DELETEAPP(app2)
  228. ret=rtezrequest("Dokument wurde NICHT gespeichert.",,"Achtung","rt_pubscrname=FinalWriterPubScreen")
  229. return
  230. end
  231. Status PathName
  232. NamePath=result
  233. NamePath=d2c(34)||NamePath
  234. address command "delete "NamePath".info"||d2c(34)" QUIET"
  235. LhaName=NamePath||Endung.mode||d2c(34)
  236. NamePath=NamePath||d2c(34)
  237. address command SBefehl.mode||LhaName NamePath
  238. if orig=1 then address command "delete "NamePath" QUIET"
  239. CALL TR_CLOSEPROJECT(window2)
  240. CALL TR_DELETEAPP(app2)
  241. address(FW)
  242. Status PathName
  243. DName=result;If DName='' then DName='Unbenannt'
  244. Call TR_SETATTRIBUTE(window1,7,'TRAT_TEXT',DName)
  245. return
  246. OpenWin:
  247. windowtags=WindowID(2),
  248. WindowPosition('TRWP_CENTERDISPLAY'),
  249. WindowFlags('TRWF_NOZIPGADGET|TRWF_NOSIZEGADGET'),
  250. PubScreenName(FWP),
  251. 'HorizGroupAC',
  252. 'Space',
  253. 'VertGroupA',
  254. 'Space',
  255. TextID('Einen Moment Geduld.',1),
  256. TextID(text,2),
  257. 'Space',
  258. 'EndGroup',
  259. 'Space',
  260. 'EndGroup',
  261. 'EndProject'
  262. app2=TR_CREATEAPP('TRCA_Name Save')
  263. window2=TR_OPENPROJECT(app2,windowtags)
  264. Return
  265. SYNTAX:
  266. CALL quit('Fehler' rc 'in Zeile' sigl '-' ERRORTEXT(rc)||R||SOURCELINE(sigl)||R||'Bitte informieren Sie den Autor...',20)
  267. quit:
  268. PARSE ARG message,rcode
  269. IF app ~='00000000'x THEN;DO
  270. IF message ~='' THEN
  271. ret=rtezrequest(message,"_Okay","ACHTUNG!","rt_pubscrname=FinalWriterPubScreen")
  272. CALL TR_DELETEAPP(app)
  273. END
  274. ELSE;DO
  275. IF message ~='' THEN;DO
  276. SAY message
  277. SAY
  278. OPTIONS PROMPT 'Bitte <RETURN> drücken'
  279. PULL taste
  280. END
  281. END
  282. address command "flushtrx all"
  283. EXIT(rcode)